Spring Framework এ Hibernate Integration

Java Technologies - স্প্রিং ওআরএম (Spring ORM) Hibernate এর সাথে Spring ORM Integration |
121
121

স্প্রিং ওআরএম (Spring ORM) হলো স্প্রিং ফ্রেমওয়ার্কের একটি মডিউল যা ডেটাবেস অপারেশনগুলোর জন্য Object Relational Mapping (ORM) সাপোর্ট প্রদান করে। ORM টুলস ব্যবহার করে ডেটাবেস ম্যানেজমেন্ট সিস্টেমের (DBMS) জটিলতা কমানো যায়। Hibernate হলো একটি জনপ্রিয় ORM টুল, যা জাভা অবজেক্ট ও ডেটাবেস টেবিলের মধ্যে ম্যাপিং সহজ করে।

স্প্রিং ফ্রেমওয়ার্ক Hibernate এর সাথে ইন্টিগ্রেশন করার জন্য বিভিন্ন টুল এবং ক্লাস সরবরাহ করে, যেমন HibernateTemplate এবং HibernateTransactionManager


স্প্রিং ও Hibernate এর ইন্টিগ্রেশন

স্প্রিং কনফিগারেশন

Hibernate ইন্টিগ্রেশনের জন্য স্প্রিং ব্যবহার করার সময় দুটি প্রধান পদ্ধতি ব্যবহার করা হয়:

  1. XML ভিত্তিক কনফিগারেশন
  2. Java Config (Annotation)

ডিপেন্ডেন্সি সংযোজন

Maven ব্যবহার করলে আপনার pom.xml ফাইলে নিচের ডিপেন্ডেন্সি যোগ করতে হবে:

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>5.x.x</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.x.x</version>
    </dependency>
    <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>javax.transaction-api</artifactId>
        <version>1.3</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.x.x</version>
    </dependency>
</dependencies>

Hibernate Configuration

Hibernate এর জন্য প্রয়োজনীয় কনফিগারেশন সম্পন্ন করার জন্য hibernate.cfg.xml ফাইল তৈরি করতে হবে।

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/your_database</property>
        <property name="hibernate.connection.username">your_username</property>
        <property name="hibernate.connection.password">your_password</property>
        <property name="hibernate.hbm2ddl.auto">update</property>
    </session-factory>
</hibernate-configuration>

স্প্রিং ও Hibernate ইন্টিগ্রেশন প্রসেস

Hibernate SessionFactory তৈরি

Spring Bean configuration এ SessionFactory সেটআপ করতে হবে।

XML ভিত্তিক কনফিগারেশন:

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
    <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/your_database"/>
    <property name="username" value="your_username"/>
    <property name="password" value="your_password"/>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</prop>
        </props>
    </property>
    <property name="packagesToScan" value="com.example.models"/>
</bean>

DAO (Data Access Object) ইমপ্লিমেন্টেশন

HibernateTemplate ব্যবহার করে DAO ক্লাস তৈরি করা যায়। উদাহরণস্বরূপ:

@Repository
public class EmployeeDao {
    @Autowired
    private HibernateTemplate hibernateTemplate;

    public void saveEmployee(Employee employee) {
        hibernateTemplate.save(employee);
    }

    public Employee getEmployeeById(int id) {
        return hibernateTemplate.get(Employee.class, id);
    }
}

সার্ভিস স্তর

DAO এবং ব্যবসায়িক লজিক একত্রে পরিচালনার জন্য সার্ভিস ক্লাস ব্যবহার করা হয়:

@Service
public class EmployeeService {
    @Autowired
    private EmployeeDao employeeDao;

    @Transactional
    public void addEmployee(Employee employee) {
        employeeDao.saveEmployee(employee);
    }

    public Employee fetchEmployee(int id) {
        return employeeDao.getEmployeeById(id);
    }
}

উপসংহার

Spring Framework এবং Hibernate এর ইন্টিগ্রেশন জাভা ডেভেলপারদের জন্য ডেটাবেস অপারেশনকে সহজ করে তোলে। Hibernate এর শক্তিশালী ORM ক্ষমতা এবং Spring এর ফিচার রিচ এনভায়রনমেন্ট একত্রে ব্যবহার করে স্কেলেবল এবং মেইনটেইনেবল অ্যাপ্লিকেশন তৈরি করা সম্ভব।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion